In a communication system signals can be transmitted with variable data transmission rates wherein data is transmitted as a plurality of data symbols in subsequent data frames. As is known, in a cellular CDMA (Code Division Multiple Access) system data is encoded for transmission by modulating data symbols to be transmitted by a spreading code and a unique scrambling code for each channel. Within each cell of the cellular communication system, scrambling codes are preferably as far as possible orthogonal to allow for a plurality of different mobile stations to communicate with a base station on selectively coded channels. The effect of a spreading code is to spread the frequency band for transmission to a chip rate Tc which is larger than the bit rate Tb. The scrambling code is unique for each mobile station transmitting to a single base station so that the transmission from individual mobile stations can be distinguished at the base station. The spreading codes are also as orthogonal as possible within users. For example, it is possible to set up such a variable-rate connection where the data rate of the information bits, and thus the spreading factor used in the spreading modulation of these bits, varies from radio frame to radio frame (e.g. every 10 ms). The data rates used in such a connection are not arbitrary, but for each radio frame duration, one of the pre-defined data rates is used. Moreover, every higher data rate is dividable by a lower data rate, the division factor being 2k for some k≧0. This specification presents variable-rate connection data rates 32, 64, 128, 256, 512, and 1024 kbps, but it is evident that also other data rates could be used without departing from the basic concept of the variable data rate (or multirate) transmission.
When a signal is transmitted between a base station and a mobile station (either on the uplink or the downlink) of a CDMA system, the signal receiving unit needs to establish from the received signal some information about the communication path along which the signal has travelled. This is referred to herein as “channel estimation” and is usually carried out in a channel estimation unit which generates a channel impulse response. Various techniques are known for channel estimation. The channel impulse response is required in order to properly decode and demodulate incoming data.
The data transmission rate of the received signal can be used in the channel estimation. However, if the data rate of a received radio frame is not known at the time of the detection at the receiver, the information symbols in said radio frame are usually obtained by means of detecting the complex data symbols assuming that the highest-possible data rate is used for transmission, and using the lowest-possible spreading factor in the receiving station. Assuming that the data rate of the received radio frame was 1024 kbps, this corresponds to the spreading factor of 4 (at 4.096 Mcps) used in the detection of the data symbols. The result of this detection should be a data vector of all detected complex information symbols corresponding to the received radio frame. Thereafter it has to be estimated what was the actual data rate of the signal at the transmitting station during the transmission. For example, this stage might give a decision that the actual data rate in the received radio frame was 256 kbps, not the assumed 1024 kbps. Finally, in accordance with the estimated data rate, as many adjacent symbols as necessary are summed together to get one actual information symbol. In this example, this would lead to summing up every four adjacent symbols to get one actual information symbol. Therefore it would be advantageous to be able to have the actual data rate of the transmission at the time of the detection at the receiver circuitry.
The transmission between the stations may or may not include explicit information of the data rates of the transmitted signal. In the first case, i.e. if the variable-rate connection includes explicit information on the used data rates for each received radio frame, this information is usually given in a separate channel, for example in an DPCCH (Dedicated Physical Control Channel). However, this information is often encoded in such a way that the actual data rate of the received radio frame is not known at the time the data symbols of the radio frame are detected. In addition, it may be necessary to establish another estimate of the data rate, for instance for the purposes of verification and/or correction of the received data rate information. In the latter case, i.e. if the explicit information is not included in the received signal, so called unknown or blind data rate estimation may be used at the receiving station in order to define at the receiver the actual data rate of the received signal.
One prior art proposal for detecting the data rate of the received signal is based on the power difference of the received bits in the data channel and the control channel. This method is relatively simple as it requires only the average power estimates of the received control symbols and data symbols. However, the disadvantage of the method is that if a very low spreading factor is used in detecting the data symbols (4 in the above example) in the first place noise becomes very dominant in the detection process. This degrades substantially the performance of the data symbol power estimation.
Another prior art method is based on CRC (Cyclic Redundancy Check: an error detection signal) decoding of the received signal. The method is based on a data rate assumption at each decoding stage and a subsequent selection of a data rate which gives a correct CRC word. To give an example, assuming that the possible data rates are 32, 64, 128, 256, 512, and 1024 kbps, a CRC check would be calculated directly for the information symbols of the received radio frame by assuming firstly a data rate of 1024 kbps. The resulting CRC word is stored. Two adjacent received symbols are summed together, assuming a data rate of 512 kbps, and a further CRC check is calculated for these information symbols. The resulting CRC word is stored. The process continues summing two adjacent information symbols together and calculating CRC checks for all these information streams until a lowest-possible data rate is achieved. Thereafter the stored CRC words are verified and such a data rate is selected that corresponds the rate used in the transmitter when a right CRC check was obtained (if such existed at all). A disadvantage of this method is that it is computationally complex: if there are N possible data rates, this requires N consequent CRC decoding processes before a decision of the transmitter data rate can be made. Moreover, the method does not give any data rate if the algorithm does not give an exactly matching CRC check.
One prior art proposal is based on metrics of Viterbi decoding of the data, assuming (as in the CRC method) a certain data rate at each stage of the decoding process. This method, however, is also computationally complex and uses assumptions which may lead to even more complicated arithmetical operations and/or inaccurate results of the estimation procedure.
An additional disadvantage of the two latter prior art methods is that they delay the final decision of the data rate of the received signal to a stage where some decoding of the data is needed for the first time. This will make the operation difficult for receiver structures that require an estimate of the data transmission rates of the received signals at an earlier stage than decoding. One such receiver comprises an Interference Cancellation (IC) receiver.